#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author:zhengxin
@file: search_test.py
@time: 2022/4/7  16:33
# @describe: mall4m
"""
import minium


class FisrtTest(minium.MiniTest):
    def test_001_search(self):
        """ 测试我的页面 """
        # 判断页面是否有搜索框
        searchInputExists = self.page.element_is_exists(".placeholder", inner_text="搜索")
        self.assertTrue(searchInputExists, "首页是否存在输入框")
        # 点击搜索框
        search_cilck = self.page.get_element(".placeholder", inner_text="搜索")
        search_cilck.click()

        searchInput = self.page.get_element("input[placeholder='输入关键字搜索']")
        # 输入selenium 进行搜索
        # searchInput.trigger("confirm", {"value": "输入selenium"})
        searchInput.trigger("input", {"value": "selenium"})

        # 等待2秒
        self.page.wait_for(2)
        # 搜索后是否展示搜索结果
        self.page.element_is_exists(".tab-item", inner_text="综合")
        self.assertTrue(searchInputExists, "用户输入selenium后，是否弹出搜索页面")

        # 关闭当前页面，返回上一页面或多级页面。
        # self.app.navigate_back()
        self.page.get_element(".search-hint", inner_text="取消").click()
        index = self.page.element_is_exists(".item", inner_text="新品推荐")
        self.assertTrue(index, "用户点击取消按钮，是否返回首页")

        search_cilck.click()
        searchInput = self.page.get_element("input[placeholder='输入关键字搜索']")
        searchInput.trigger("input", {"value": "selenium"})
        # 回车(模拟回车效果)
        searchInput.trigger("confirm", {"value": "selenium"})
        self.page.wait_for(2)

        # 跳转指定页面-分类页面(不允许跳转到 tabbar 页面)
        self.app.navigate_to("/pages/search-page/search-page")
        # 跳转首页
        self.app.go_home()
        # 跳转到 tabBar 页面-需在 app.json 的 tabBar 字段定义的页面
        self.app.switch_tab("/pages/category/category")
        self.page.element_is_exists(".sear-input", inner_text="搜索您想要的商品")
        self.page.wait_for(1)

    def test_002_mine(self):
        """ 测试我的页面 """
        self.app.switch_tab("/pages/user/user")
        # 获取元素的值
        to_bind_text = self.page.get_element(".gotobinding").inner_text
        self.assertEqual("去绑定", to_bind_text, "我的页面，是否有'去绑定'文本")
        # 子选择器
        my_collection_num = self.page.get_element(".col-item >.num").inner_text
        self.assertEqual(0, int(my_collection_num), "我的收藏-数额是否为0")



